package com.csdn.exer;

/**
 * @Descripton token管理对象, 负责管理token的生命周期,负责验签,构建以校验
 */
public interface TokenManage<T, R>{

    /**
     * 构建token
     * @param getTokenParam
     * @return 返回构建的token
     * @throws Exception
     */
    public Token build(T getTokenParam) throws Exception;

    /**
     * token 校验, 同时会返回这个token对应的业务参数
     * @param token 用户输入token
     * @return 返回值为token对应的业务参数
     */
    public R vaidate(String token);
}
